<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 一,什么是vue的路由?
      // vue的路由跨域通过url地址跳转至相应的处理程序文件上,路由解决了以往的超链接跳转页面问题(超链接跳转页面就代表要重新刷新并渲染页面)

      // 二,路由传参有几种方式?
      // 01.query: ?a=10&b=20    (路径)
      // 02.params: /:id=999     (动态参数)

      // 三,路由模式有几种?
      // 01.:hash   (?id=1)(原理就是监听hashchange事件)(页面的路径改变并不会更新服务器)
      // 02.:history (/:) history对浏览器的搜索引擎的SEO比较友好(history会刷新服务器)

      // 四,声明式导航和编程式导航
      // 01.声明式导航是直接渲染到页面的,编程式导航则相应进行js的处理

      // 五,路由守卫有几种?
      // 我们一般在前置路由守卫里进行权限访问的拦截,在每次跳转路由的时候判断用户是否有权限访问这个页面
      // 01.全局路由守卫(全局前置守卫,全局后置守卫) 参数 to from next
      // 02.组件内路由守卫
      // 03.路由独享守卫

      // 六,你是怎么配置路由的?
      // 01、下载 npm install --save vue-router
      // 02、引用 import VueRouter from 'vue-router'
      // 03、注册 Vue.use()
      // 04、配置路由文件 var router = new Vuerouter({routes:[{path:'/hello',component:Helloword}]})
      // 05、路由实例的挂载
      // 06、vue实例对象挂载路由对象实例
      // 07、路由对象显示的地方(通常一级路由在根组件里)
      // 总结:(下载并引入路由包)=>(然后在App上注册并挂载路由)=>(定义路由配置规则)=>(使用router-view标签来使用即可)

      // 七,如何实现路由的跳转
      // router-link()   // 声明式
      // router-push()   // 编程式
      // router-go()

      // 八,router和route的区别
      // 1.router 是 VueRouter 的一个对象，通过Vue.use(VueRouter) 和 VueRouter 构造函数得到的一个实例对象，这个对象中是一个全局的对象，它包含了所有路i有包含了许多关键的对象和属性
      // 2.route 是一个跳转路由的对象，每一个路由都会有一个route 对象，它是一个局部对象，可以获取对应的name ,path ,params,query等
    </script>
  </body>
</html>
